[INFO] cloning repository https://github.com/tmddang-wfo/ALNS_v1
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tmddang-wfo/ALNS_v1" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmddang-wfo%2FALNS_v1", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmddang-wfo%2FALNS_v1'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 18a90d7f1a1142f28946b70407374ebb70063c68
[INFO] testing tmddang-wfo/ALNS_v1 against try#28f95933dc0727396c07b48d0a8cb5211b7fb472 for pr-154065-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftmddang-wfo%2FALNS_v1" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tmddang-wfo/ALNS_v1
[INFO] finished tweaking git repo https://github.com/tmddang-wfo/ALNS_v1
[INFO] tweaked toml for git repo https://github.com/tmddang-wfo/ALNS_v1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tmddang-wfo/ALNS_v1 on toolchain 28f95933dc0727396c07b48d0a8cb5211b7fb472
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tmddang-wfo/ALNS_v1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thousands v0.2.0
[INFO] [stderr]   Downloaded gif v0.13.3
[INFO] [stderr]   Downloaded bytemuck v1.24.0
[INFO] [stderr]   Downloaded lebe v0.5.3
[INFO] [stderr]   Downloaded bit_field v0.10.3
[INFO] [stderr]   Downloaded codepage v0.1.2
[INFO] [stderr]   Downloaded cbc v0.1.2
[INFO] [stderr]   Downloaded rand_core v0.10.0-rc-2
[INFO] [stderr]   Downloaded pest_generator v2.8.4
[INFO] [stderr]   Downloaded pest_meta v2.8.4
[INFO] [stderr]   Downloaded pest_derive v2.8.4
[INFO] [stderr]   Downloaded chacha20 v0.10.0-rc.5
[INFO] [stderr]   Downloaded html_parser v0.7.0
[INFO] [stderr]   Downloaded calamine v0.24.0
[INFO] [stderr]   Downloaded cfb v0.9.0
[INFO] [stderr]   Downloaded fancy-regex v0.13.0
[INFO] [stderr]   Downloaded cc v1.2.48
[INFO] [stderr]   Downloaded rand v0.10.0-rc.5
[INFO] [stderr]   Downloaded pest v2.8.4
[INFO] [stderr]   Downloaded exr v1.74.0
[INFO] [stderr]   Downloaded rust_xlsxwriter v0.64.2
[INFO] [stderr]   Downloaded umya-spreadsheet v1.2.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2ce0d95a0df181d4ff65aa6b63c79b892702601329379bbf96e30ea84fc3b212
[INFO] running `Command { std: "docker" "start" "-a" "2ce0d95a0df181d4ff65aa6b63c79b892702601329379bbf96e30ea84fc3b212", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2ce0d95a0df181d4ff65aa6b63c79b892702601329379bbf96e30ea84fc3b212", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ce0d95a0df181d4ff65aa6b63c79b892702601329379bbf96e30ea84fc3b212", kill_on_drop: false }`
[INFO] [stdout] 2ce0d95a0df181d4ff65aa6b63c79b892702601329379bbf96e30ea84fc3b212
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 456baa2778d0ab91f3c421a7eaae720588f8592e55a21d3df781e3a9cb0b0231
[INFO] running `Command { std: "docker" "start" "-a" "456baa2778d0ab91f3c421a7eaae720588f8592e55a21d3df781e3a9cb0b0231", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling doc-comment v0.3.4
[INFO] [stderr]    Compiling zerocopy-derive v0.8.31
[INFO] [stderr]    Compiling jpeg-decoder v0.3.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling pest v2.8.4
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling lebe v0.5.3
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling gif v0.13.3
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling rand_core v0.10.0-rc-2
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling zip v0.6.6
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling cfb v0.9.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling chacha20 v0.10.0-rc.5
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling codepage v0.1.2
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling block-padding v0.3.3
[INFO] [stderr]    Compiling pest_meta v2.8.4
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling thousands v0.2.0
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling rand v0.10.0-rc.5
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling cbc v0.1.2
[INFO] [stderr]    Compiling pest_generator v2.8.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling pest_derive v2.8.4
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling html_parser v0.7.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling exr v1.74.0
[INFO] [stderr]    Compiling calamine v0.24.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling fancy-regex v0.13.0
[INFO] [stderr]    Compiling rust_xlsxwriter v0.64.2
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling umya-spreadsheet v1.2.7
[INFO] [stderr]    Compiling ANLS v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `Reverse_Greedy` should have an upper camel case name
[INFO] [stdout]   --> src/alns.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReverseGreedy`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Random_Greedy` should have an upper camel case name
[INFO] [stdout]   --> src/alns.rs:15:44
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RandomGreedy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Critical_Greedy` should have an upper camel case name
[INFO] [stdout]   --> src/alns.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CriticalGreedy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/main.rs:27:37
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn read_excel(path: &str) -> Result<(Vec<Vec<usize>>), Box<dyn Error>> {
[INFO] [stdout]    |                                     ^               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 - fn read_excel(path: &str) -> Result<(Vec<Vec<usize>>), Box<dyn Error>> {
[INFO] [stdout] 27 + fn read_excel(path: &str) -> Result<Vec<Vec<usize>>, Box<dyn Error>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/main.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Ok((days_info))
[INFO] [stdout]    |        ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -     Ok((days_info))
[INFO] [stdout] 51 +     Ok(days_info)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude`
[INFO] [stdout]  --> src/alns.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `staff_penalty` is never read
[INFO] [stdout]   --> src/operators/destroy_ops.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut staff_penalty = 0;
[INFO] [stdout]    |                                 ^ this value is reassigned later and never used
[INFO] [stdout] 35 |         staff_penalty = sol.WorktimePenalty[i] + sol.AfternoonPenalty[i] + sol.WorktimePenalty[i];
[INFO] [stdout]    |         ----------------------------------------------------------------------------------------- `staff_penalty` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `morning_shortage` is never read
[INFO] [stdout]   --> src/operators/repair_ops.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut morning_shortage: i32 = 0;
[INFO] [stdout]    |                                     ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 26 |     morning_shortage = cmp::max(0, days[current_day].morning_cov as i32 - morning_cov);
[INFO] [stdout]    |     ---------------------------------------------------------------------------------- `morning_shortage` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `afternoon_shortage` is never read
[INFO] [stdout]   --> src/operators/repair_ops.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut afternoon_shortage: i32 = 0;
[INFO] [stdout]    |                                       ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 27 |     afternoon_shortage = cmp::max(0, days[current_day].afternoon_cov as i32 - afternoon_cov);
[INFO] [stdout]    |     ---------------------------------------------------------------------------------------- `afternoon_shortage` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `shortage_status` is never read
[INFO] [stdout]   --> src/operators/repair_ops.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut shortage_status: bool = Default::default(); //Default shortage value is false
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 32 |     } else {shortage_status = true;}
[INFO] [stdout]    |             ---------------------- `shortage_status` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_shift` is never read
[INFO] [stdout]   --> src/operators/repair_ops.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut target_shift: usize = 0; //Default target shift is 0: unassigned shift
[INFO] [stdout]    |                                   ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 69 |         target_shift = check_worktime(&shortage_shift, shifts, current_day);
[INFO] [stdout]    |         ------------------------------------------------------------------- `target_shift` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_gap`
[INFO] [stdout]   --> src/operators/repair_ops.rs:92:22
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let (shift_idx, &min_gap) = gap_worktime
[INFO] [stdout]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_gap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `MorningPenaltyCov` is never read
[INFO] [stdout]    --> src/structs.rs:97:45
[INFO] [stdout]     |
[INFO] [stdout]  97 |             let mut MorningPenaltyCov:i32 = 0;
[INFO] [stdout]     |                                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 106 |             MorningPenaltyCov = ((days[k].morning_cov as i32) - MorningActualCov).abs();
[INFO] [stdout]     |             --------------------------------------------------------------------------- `MorningPenaltyCov` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `AfternoonPenaltyCov` is never read
[INFO] [stdout]    --> src/structs.rs:98:48
[INFO] [stdout]     |
[INFO] [stdout]  98 |             let mut AfternoonPenaltyCov: i32 = 0;
[INFO] [stdout]     |                                                ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 107 |             AfternoonPenaltyCov = ((days[k].afternoon_cov as i32) - AfternoonActualCov).abs();
[INFO] [stdout]     |             --------------------------------------------------------------------------------- `AfternoonPenaltyCov` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/main.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     for w in 0..WEEK_NUM {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DestroyOp` is never used
[INFO] [stdout]  --> src/operators/destroy_ops.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum DestroyOp {Random, Worst}
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `agency` are never read
[INFO] [stdout]  --> src/structs.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Staff {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 6 |     pub id: usize,
[INFO] [stdout]   |         ^^
[INFO] [stdout] 7 |     pub agency: usize,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Staff` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHIFT_NUM` is never used
[INFO] [stdout]  --> src/utils.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const SHIFT_NUM: usize = 7;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_shift_sched` is never used
[INFO] [stdout]   --> src/alns.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn update_shift_sched(staffs_schedule: &Vec<Vec<usize>>) -> Vec<Vec<usize>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_temp` is never read
[INFO] [stdout]   --> src/alns.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct ALNSConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub start_temp: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         book.new_sheet(sheet_name);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let _ = book.new_sheet(sheet_name);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         book.new_sheet(sheet_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = book.new_sheet(sheet_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 export_schedule(&final_sol, &schedule_export_path, &(w+1));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 let _ = export_schedule(&final_sol, &schedule_export_path, &(w+1));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 export_alns_result(&alns_result, &result_export_path, &(w+1));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 let _ = export_alns_result(&alns_result, &result_export_path, &(w+1));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.30s
[INFO] running `Command { std: "docker" "inspect" "456baa2778d0ab91f3c421a7eaae720588f8592e55a21d3df781e3a9cb0b0231", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "456baa2778d0ab91f3c421a7eaae720588f8592e55a21d3df781e3a9cb0b0231", kill_on_drop: false }`
[INFO] [stdout] 456baa2778d0ab91f3c421a7eaae720588f8592e55a21d3df781e3a9cb0b0231
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1d73d0595a270e60e83005ae98d119747fe1d641f81edf1cce0408d2a5dfddb6
[INFO] running `Command { std: "docker" "start" "-a" "1d73d0595a270e60e83005ae98d119747fe1d641f81edf1cce0408d2a5dfddb6", kill_on_drop: false }`
[INFO] [stderr]    Compiling ANLS v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `Reverse_Greedy` should have an upper camel case name
[INFO] [stdout]   --> src/alns.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReverseGreedy`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Random_Greedy` should have an upper camel case name
[INFO] [stdout]   --> src/alns.rs:15:44
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RandomGreedy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Critical_Greedy` should have an upper camel case name
[INFO] [stdout]   --> src/alns.rs:15:59
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stdout]    |                                                           ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CriticalGreedy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/main.rs:27:37
[INFO] [stdout]    |
[INFO] [stdout] 27 | fn read_excel(path: &str) -> Result<(Vec<Vec<usize>>), Box<dyn Error>> {
[INFO] [stdout]    |                                     ^               ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 - fn read_excel(path: &str) -> Result<(Vec<Vec<usize>>), Box<dyn Error>> {
[INFO] [stdout] 27 + fn read_excel(path: &str) -> Result<Vec<Vec<usize>>, Box<dyn Error>> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/main.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Ok((days_info))
[INFO] [stdout]    |        ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 51 -     Ok((days_info))
[INFO] [stdout] 51 +     Ok(days_info)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude`
[INFO] [stdout]  --> src/alns.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `staff_penalty` is never read
[INFO] [stdout]   --> src/operators/destroy_ops.rs:34:33
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let mut staff_penalty = 0;
[INFO] [stdout]    |                                 ^ this value is reassigned later and never used
[INFO] [stdout] 35 |         staff_penalty = sol.WorktimePenalty[i] + sol.AfternoonPenalty[i] + sol.WorktimePenalty[i];
[INFO] [stdout]    |         ----------------------------------------------------------------------------------------- `staff_penalty` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `morning_shortage` is never read
[INFO] [stdout]   --> src/operators/repair_ops.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut morning_shortage: i32 = 0;
[INFO] [stdout]    |                                     ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 26 |     morning_shortage = cmp::max(0, days[current_day].morning_cov as i32 - morning_cov);
[INFO] [stdout]    |     ---------------------------------------------------------------------------------- `morning_shortage` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `afternoon_shortage` is never read
[INFO] [stdout]   --> src/operators/repair_ops.rs:13:39
[INFO] [stdout]    |
[INFO] [stdout] 13 |     let mut afternoon_shortage: i32 = 0;
[INFO] [stdout]    |                                       ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 27 |     afternoon_shortage = cmp::max(0, days[current_day].afternoon_cov as i32 - afternoon_cov);
[INFO] [stdout]    |     ---------------------------------------------------------------------------------------- `afternoon_shortage` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `shortage_status` is never read
[INFO] [stdout]   --> src/operators/repair_ops.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut shortage_status: bool = Default::default(); //Default shortage value is false
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 32 |     } else {shortage_status = true;}
[INFO] [stdout]    |             ---------------------- `shortage_status` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_shift` is never read
[INFO] [stdout]   --> src/operators/repair_ops.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut target_shift: usize = 0; //Default target shift is 0: unassigned shift
[INFO] [stdout]    |                                   ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 69 |         target_shift = check_worktime(&shortage_shift, shifts, current_day);
[INFO] [stdout]    |         ------------------------------------------------------------------- `target_shift` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min_gap`
[INFO] [stdout]   --> src/operators/repair_ops.rs:92:22
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let (shift_idx, &min_gap) = gap_worktime
[INFO] [stdout]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_gap`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `MorningPenaltyCov` is never read
[INFO] [stdout]    --> src/structs.rs:97:45
[INFO] [stdout]     |
[INFO] [stdout]  97 |             let mut MorningPenaltyCov:i32 = 0;
[INFO] [stdout]     |                                             ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 106 |             MorningPenaltyCov = ((days[k].morning_cov as i32) - MorningActualCov).abs();
[INFO] [stdout]     |             --------------------------------------------------------------------------- `MorningPenaltyCov` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `AfternoonPenaltyCov` is never read
[INFO] [stdout]    --> src/structs.rs:98:48
[INFO] [stdout]     |
[INFO] [stdout]  98 |             let mut AfternoonPenaltyCov: i32 = 0;
[INFO] [stdout]     |                                                ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 107 |             AfternoonPenaltyCov = ((days[k].afternoon_cov as i32) - AfternoonActualCov).abs();
[INFO] [stdout]     |             --------------------------------------------------------------------------------- `AfternoonPenaltyCov` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/main.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |     for w in 0..WEEK_NUM {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DestroyOp` is never used
[INFO] [stdout]  --> src/operators/destroy_ops.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum DestroyOp {Random, Worst}
[INFO] [stdout]   |      ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `agency` are never read
[INFO] [stdout]  --> src/structs.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Staff {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 6 |     pub id: usize,
[INFO] [stdout]   |         ^^
[INFO] [stdout] 7 |     pub agency: usize,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Staff` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHIFT_NUM` is never used
[INFO] [stdout]  --> src/utils.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub const SHIFT_NUM: usize = 7;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_shift_sched` is never used
[INFO] [stdout]   --> src/alns.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn update_shift_sched(staffs_schedule: &Vec<Vec<usize>>) -> Vec<Vec<usize>> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `start_temp` is never read
[INFO] [stdout]   --> src/alns.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct ALNSConfig {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub start_temp: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |         book.new_sheet(sheet_name);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let _ = book.new_sheet(sheet_name);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         book.new_sheet(sheet_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = book.new_sheet(sheet_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 export_schedule(&final_sol, &schedule_export_path, &(w+1));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 let _ = export_schedule(&final_sol, &schedule_export_path, &(w+1));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:218:17
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 export_alns_result(&alns_result, &result_export_path, &(w+1));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 let _ = export_alns_result(&alns_result, &result_export_path, &(w+1));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.38s
[INFO] running `Command { std: "docker" "inspect" "1d73d0595a270e60e83005ae98d119747fe1d641f81edf1cce0408d2a5dfddb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1d73d0595a270e60e83005ae98d119747fe1d641f81edf1cce0408d2a5dfddb6", kill_on_drop: false }`
[INFO] [stdout] 1d73d0595a270e60e83005ae98d119747fe1d641f81edf1cce0408d2a5dfddb6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+28f95933dc0727396c07b48d0a8cb5211b7fb472" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 306ad39a3ad72619211b292eb56bca863f1aaa219f9d6c3ada9bbb5d223acf17
[INFO] running `Command { std: "docker" "start" "-a" "306ad39a3ad72619211b292eb56bca863f1aaa219f9d6c3ada9bbb5d223acf17", kill_on_drop: false }`
[INFO] [stderr] warning: variant `Reverse_Greedy` should have an upper camel case name
[INFO] [stderr]   --> src/alns.rs:15:28
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ReverseGreedy`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Random_Greedy` should have an upper camel case name
[INFO] [stderr]   --> src/alns.rs:15:44
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RandomGreedy`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Critical_Greedy` should have an upper camel case name
[INFO] [stderr]   --> src/alns.rs:15:59
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub enum RepairOp {Greedy, Reverse_Greedy, Random_Greedy, Critical_Greedy}
[INFO] [stderr]    |                                                           ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CriticalGreedy`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/main.rs:27:37
[INFO] [stderr]    |
[INFO] [stderr] 27 | fn read_excel(path: &str) -> Result<(Vec<Vec<usize>>), Box<dyn Error>> {
[INFO] [stderr]    |                                     ^               ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 27 - fn read_excel(path: &str) -> Result<(Vec<Vec<usize>>), Box<dyn Error>> {
[INFO] [stderr] 27 + fn read_excel(path: &str) -> Result<Vec<Vec<usize>>, Box<dyn Error>> {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around function argument
[INFO] [stderr]   --> src/main.rs:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 |     Ok((days_info))
[INFO] [stderr]    |        ^         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 51 -     Ok((days_info))
[INFO] [stderr] 51 +     Ok(days_info)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude`
[INFO] [stderr]  --> src/alns.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `staff_penalty` is never read
[INFO] [stderr]   --> src/operators/destroy_ops.rs:34:33
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut staff_penalty = 0;
[INFO] [stderr]    |                                 ^ this value is reassigned later and never used
[INFO] [stderr] 35 |         staff_penalty = sol.WorktimePenalty[i] + sol.AfternoonPenalty[i] + sol.WorktimePenalty[i];
[INFO] [stderr]    |         ----------------------------------------------------------------------------------------- `staff_penalty` is overwritten here before the previous value is read
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `morning_shortage` is never read
[INFO] [stderr]   --> src/operators/repair_ops.rs:12:37
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let mut morning_shortage: i32 = 0;
[INFO] [stderr]    |                                     ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 26 |     morning_shortage = cmp::max(0, days[current_day].morning_cov as i32 - morning_cov);
[INFO] [stderr]    |     ---------------------------------------------------------------------------------- `morning_shortage` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `afternoon_shortage` is never read
[INFO] [stderr]   --> src/operators/repair_ops.rs:13:39
[INFO] [stderr]    |
[INFO] [stderr] 13 |     let mut afternoon_shortage: i32 = 0;
[INFO] [stderr]    |                                       ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 27 |     afternoon_shortage = cmp::max(0, days[current_day].afternoon_cov as i32 - afternoon_cov);
[INFO] [stderr]    |     ---------------------------------------------------------------------------------------- `afternoon_shortage` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `shortage_status` is never read
[INFO] [stderr]   --> src/operators/repair_ops.rs:15:37
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let mut shortage_status: bool = Default::default(); //Default shortage value is false
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 32 |     } else {shortage_status = true;}
[INFO] [stderr]    |             ---------------------- `shortage_status` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `target_shift` is never read
[INFO] [stderr]   --> src/operators/repair_ops.rs:17:35
[INFO] [stderr]    |
[INFO] [stderr] 17 |     let mut target_shift: usize = 0; //Default target shift is 0: unassigned shift
[INFO] [stderr]    |                                   ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 69 |         target_shift = check_worktime(&shortage_shift, shifts, current_day);
[INFO] [stderr]    |         ------------------------------------------------------------------- `target_shift` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `min_gap`
[INFO] [stderr]   --> src/operators/repair_ops.rs:92:22
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let (shift_idx, &min_gap) = gap_worktime
[INFO] [stderr]    |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_min_gap`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `MorningPenaltyCov` is never read
[INFO] [stderr]    --> src/structs.rs:97:45
[INFO] [stderr]     |
[INFO] [stderr]  97 |             let mut MorningPenaltyCov:i32 = 0;
[INFO] [stderr]     |                                             ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 106 |             MorningPenaltyCov = ((days[k].morning_cov as i32) - MorningActualCov).abs();
[INFO] [stderr]     |             --------------------------------------------------------------------------- `MorningPenaltyCov` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `AfternoonPenaltyCov` is never read
[INFO] [stderr]    --> src/structs.rs:98:48
[INFO] [stderr]     |
[INFO] [stderr]  98 |             let mut AfternoonPenaltyCov: i32 = 0;
[INFO] [stderr]     |                                                ^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 107 |             AfternoonPenaltyCov = ((days[k].afternoon_cov as i32) - AfternoonActualCov).abs();
[INFO] [stderr]     |             --------------------------------------------------------------------------------- `AfternoonPenaltyCov` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w`
[INFO] [stderr]    --> src/main.rs:138:9
[INFO] [stderr]     |
[INFO] [stderr] 138 |     for w in 0..WEEK_NUM {
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stderr] 
[INFO] [stderr] warning: enum `DestroyOp` is never used
[INFO] [stderr]  --> src/operators/destroy_ops.rs:7:6
[INFO] [stderr]   |
[INFO] [stderr] 7 | enum DestroyOp {Random, Worst}
[INFO] [stderr]   |      ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id` and `agency` are never read
[INFO] [stderr]  --> src/structs.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Staff {
[INFO] [stderr]   |            ----- fields in this struct
[INFO] [stderr] 6 |     pub id: usize,
[INFO] [stderr]   |         ^^
[INFO] [stderr] 7 |     pub agency: usize,
[INFO] [stderr]   |         ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Staff` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SHIFT_NUM` is never used
[INFO] [stderr]  --> src/utils.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub const SHIFT_NUM: usize = 7;
[INFO] [stderr]   |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `update_shift_sched` is never used
[INFO] [stderr]   --> src/alns.rs:58:8
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub fn update_shift_sched(staffs_schedule: &Vec<Vec<usize>>) -> Vec<Vec<usize>> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `start_temp` is never read
[INFO] [stderr]   --> src/alns.rs:78:9
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub struct ALNSConfig {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub start_temp: f64,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:67:9
[INFO] [stderr]    |
[INFO] [stderr] 67 |         book.new_sheet(sheet_name);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let _ = book.new_sheet(sheet_name);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:103:9
[INFO] [stderr]     |
[INFO] [stderr] 103 |         book.new_sheet(sheet_name);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 103 |         let _ = book.new_sheet(sheet_name);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:217:17
[INFO] [stderr]     |
[INFO] [stderr] 217 |                 export_schedule(&final_sol, &schedule_export_path, &(w+1));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 217 |                 let _ = export_schedule(&final_sol, &schedule_export_path, &(w+1));
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:218:17
[INFO] [stderr]     |
[INFO] [stderr] 218 |                 export_alns_result(&alns_result, &result_export_path, &(w+1));
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 218 |                 let _ = export_alns_result(&alns_result, &result_export_path, &(w+1));
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ANLS` (bin "ANLS" test) generated 24 warnings (run `cargo fix --bin "ANLS" -p ANLS --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ANLS-63f40afed5c3146d)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "306ad39a3ad72619211b292eb56bca863f1aaa219f9d6c3ada9bbb5d223acf17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "306ad39a3ad72619211b292eb56bca863f1aaa219f9d6c3ada9bbb5d223acf17", kill_on_drop: false }`
[INFO] [stdout] 306ad39a3ad72619211b292eb56bca863f1aaa219f9d6c3ada9bbb5d223acf17
